<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>.: jsolait :. | documentation | jsolait</title>
    <link rel="stylesheet" type="text/css" href="./html.css" />
    <meta name="author" content="Jan-Klaas Kollhof" />
    <meta name="keywords" content="jsolait.lang" />
  </head>
  <body>
    <a name="top" id="top"></a>
    <div class="navigationBar"><a href="./index.xhtml">documentation</a> | 
                    jsolait</div>
    <div class="menu">
      <ul></ul>
      <div class="copyright">copyright © 2004, Jan-Klaas Kollhof</div>
    </div>
    <div class="content">
         <h1>Module jsolait</h1>
            This is the main module.<br />
            It is used by all jsolait modules and provides the basic functionality.<br />
         <div class="contentItem"><h2>public members:<a class="bttop" href="#top">▲</a></h2><div>
              
               
               <h3>baseURL</h3><div class="indent">
                    
                    The base URL to use when dynamically loading user modules.
                </div>  
               <h3>libURL</h3><div class="indent">
                    
                    The url of the jsolait installation, used for dynamically loading jsolait modules.
                </div>  
                
               <br />
                <h3>ModuleImportFailed()</h3><div class="indent">
                    
                    Exception thrown when a module could not be imported.
                </div>  
                <h3></h3><div class="indent">
                    
                </div>  
                
               <br /> 
               <h3>importModule(moduleName)</h3><div class="indent">
                    
                   Imports a module given its name(e.g. "someModule.someSubModule").<br />
                   For dynamic loading of modules:<br />
                   A module's file location is determined by treating each module name as a directory.<br />
                   Only the last one is assumed to point to a file.<br />
                   If the module's URL is not known to jsolait then it will be searched for in jsolait.baseURL which is "." by default.<br />
                </div>  
                
               <h3>reportException(e)</h3><div class="indent">
                    
                    Displays an Exception <code>e</code> and it's trace.<br />
                    This is better than <code>alert(e)</code>.
               </div>  
         </div></div>
         
         <div class="contentItem"><h2>globals:<a class="bttop" href="#top">▲</a></h2><div>
            
            <h3>jsolait</h3><div class="indent">
                
                The jsolait module.
            </div>
            
            <h3>Class(className, superClass, classScope)</h3><div class="indent">
                
                A method for creating Classes.<br />
                The <code>className</code> parameter is not needed if the Class is going to be a public member of a module.<br />
                The <code>superClass</code> parameter must be specified if the new class is to be a subclass of the class specified by <code>superClass</code>.
                The <code>classScope</code> is a <code>ClassScope</code> function and defines the scope of the class.<br />
                <br />
                Each class created by this method has the following properies and methods:<br />
                <ul>
                    <li><b>className</b> The name of the class.</li>
                    <li><b>superClass</b> The super class of the class</li>
                </ul>
                <br />
            </div>
            
            <h3>Module(name, version, moduleScope)</h3><div class="indent">
                
                A method for creating modules.<br />
                The <code>name</code> parameter defines the name of the module.<br />
                The <code>version</code> parameter contains the version of the module.<br />
                The <code>moduleScope</code> is a <code>ModuleScope</code> function and defines the scope of the module.<br />
                <br />
                Modules created with this function have the following properties:<br />
                <ul>
                    <li><b>name</b> The name of the module.</li>
                    <li><b>version</b> The module's version.</li>
                    <li><b>Exception</b> The base class for all exception classes in the module.</li>
                </ul>
            </div>
            
            <br />
            
            <h3>importModule(moduleName)</h3><div class="indent">
                
                The globalized jsolait.importModule method.
            </div>
            
            <h3>reportException(e)</h3><div class="indent">
                
                The globalized jsolait.reportException method.
            </div>
         </div></div>
         
         <div class="contentItem"><h2>interfaces:<a class="bttop" href="#top">▲</a></h2><div>
            
            
            <h3>ClassScope(publ, supr)</h3><div class="indent">
                
                The ClassScope is a function which is called by the Class method when a new class is constructed.<br />
                The <code>publ</code> parameter contains the new class' prototype object.<br />
                All objects added to this object become public members of the new class.<br />
                The <code>supr</code> parameter contains a wrapper function for easyly calling the super class' methods<br />
                Everything declared with var inside the scope becomes "private" to the scope, i.e. is only visible within the scope.<br />
            </div>
            
            <h3>ModuleScope(mod)</h3><div class="indent">
                
                The ModuleScope is a function which is called by the Module function when a new module is created.<br />
                All objects added to the <code>mod</code> parameter will become public members of the module.<br />
                It will already contain the modules porperties like name, version and the Exception class.<br />
            </div>
         </div></div>
         
         <div class="contentItem"><h2>requirements:<a class="bttop" href="#top">▲</a></h2><div>
            
            For dynamic loading of modules a synchronous HTTP connection must be available. Mozilla and IE both have it.
         </div></div>
         
         
         
     </div>
  </body>
</html>
